//1047. 删除字符串中的所有相邻重复项

// 给出由小写字母组成的字符串 S，重复项删除操作会选择两个相邻且相同的字母，并删除它们。
// 在 S 上反复执行重复项删除操作，直到无法继续删除。
// 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char* removeDuplicates(char* s) 
{
    int n = strlen(s);
    char* str = malloc(sizeof(char) * (n + 1));
    int retSize = 0;
    for (int i = 0; i < n; i++) 
    {
        if (retSize > 0 && str[retSize - 1] == s[i]) 
        {
            retSize--;
        } 
        else 
        {
            str[retSize++] = s[i];
        }
    }
    str[retSize] = '\0';
    return str;
}

int main()
{
    char s[10] = "cssd";
    printf("%s\n",removeDuplicates(s));
    return 0;
}